home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / SWR.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-02-03  |  3.4 KB  |  114 lines

  1. 10  'SWR - 11 JAN 94 rev. 28 SEP 96
  2. 20  IF EX$=""THEN EX$="EXIT"
  3. 30  IF PROG$=""THEN GO$=EX$ ELSE GO$=PROG$
  4. 40  COMMON EX$,PROG$
  5. 50  CLS:KEY OFF
  6. 60  COLOR 7,0,1
  7. 70  UL$=STRING$(80,205)
  8. 80  U1$="####.###"
  9. 90  E$=STRING$(80,32)
  10. 100  '
  11. 110  '.....start
  12. 120  CLS:FWD=0:REF=0:SWR=0:P=0
  13. 130  COLOR 15,2
  14. 140  PRINT " S.W.R. (Standing Wave Ratio) CALCULATOR";
  15. 150  PRINT TAB(57);"by George Murphy VE3ERP ";
  16. 160  COLOR 1,0:PRINT STRING$(80,223);
  17. 170  COLOR 7,0:PRINT " Press number in < > for:"
  18. 180  PRINT UL$;
  19. 190  PRINT "   < 1 > SWR as a function of forward/reflected power"
  20. 200  PRINT "   < 2 > SWR as a function of complex load impedance R EQV jX"
  21. 210  PRINT
  22. 220  PRINT "   < 0 > EXIT"
  23. 230  COLOR 7,0
  24. 240  Z$=INKEY$:IF Z$=""THEN 240
  25. 250  IF Z$="0"THEN CLS:CHAIN GO$
  26. 260  IF Z$="1"THEN 300
  27. 270  IF Z$="2"THEN 670
  28. 280  GOTO 240
  29. 290  '
  30. 300  '.....SWR as a function of forward/reflected power
  31. 310  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  32. 320  IF FWD THEN 350
  33. 330  INPUT " ENTER: Forward power (watts), if known........";FWD
  34. 340  GOSUB 430
  35. 350  IF REF THEN 380
  36. 360  INPUT " ENTER: Reflected power (watts), if known......";REF
  37. 370  GOSUB 430
  38. 380  IF SWR THEN 410
  39. 390  INPUT " ENTER: Standing Wave Ratio (SWR), if known....";SWR
  40. 400  GOSUB 430
  41. 410  IF FWD*REF*SWR THEN 540 ELSE 320
  42. 420  '
  43. 430  '.....calculation
  44. 440  LOCATE CSRLIN-1:PRINT STRING$(79,32):LOCATE CSRLIN-1
  45. 450  FOR Z=1 TO 2
  46. 460  IF SWR>0 AND SWR<1 THEN SWR=1
  47. 470  IF P=0 THEN IF SWR THEN P=(SWR-1)/(SWR+1)
  48. 480  IF FWD*REF THEN X=SQR(REF/FWD):SWR=(1+X)/(1-X):GOTO 510
  49. 490  IF SWR*FWD THEN REF=FWD*P^2:GOTO 510
  50. 500  IF SWR*REF THEN FWD=REF/P^2:GOTO 510
  51. 510  NEXT Z
  52. 520  RETURN
  53. 530  '
  54. 540  '.....display data
  55. 550  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  56. 560  ATT=-4.34295*LOG(1-P^2)    'attenuation
  57. 570  RLO=-8.68589*LOG(P)        'return loss
  58. 580  PRINT "    FORWARD power...................";USING U1$;FWD;:PRINT " watts"
  59. 590  PRINT "    REFLECTED power.................";USING U1$;REF;:PRINT " watts"
  60. 600  PRINT "    S.W.R. .........................";USING U1$;SWR;:PRINT ":1"
  61. 610  PRINT "    Reflection Coefficient..........";USING U1$;P
  62. 620  PRINT "    Attenuation.....................";USING U1$;ATT;:PRINT " dB"
  63. 630  PRINT "    Return Loss.....................";USING U1$;RLO;:PRINT " dB"
  64. 640  PRINT UL$;
  65. 650  GOTO 960
  66. 660  '
  67. 670  '.....SWR as a function of complex load impedance
  68. 680  'ref. M.W.Maxwell's book "Reflections", page 23-5
  69. 690  'data provided by Goran Hosinsky, EA8YU
  70. 700  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  71. 710  PRINT " Complex load impedance = R EQV jX ohms
  72. 720  INPUT " ENTER: Value of resistive component R (ohms)...............";R
  73. 730  COLOR 0,7
  74. 740  PRINT " Is the reactive component X (i)nductive or (c)apacitive?  (i/c) "
  75. 750  COLOR 7,0
  76. 760  Z$=INKEY$:IF Z$=""THEN 760
  77. 770  IF Z$="i"THEN J$="+ j":X$="inductive component (ohms).":GOTO 800
  78. 780  IF Z$="c"THEN J$="- j":X$="capacitive component (ohms)":GOTO 800
  79. 790  GOTO 760
  80. 800  LOCATE CSRLIN-1:PRINT E$;:LOCATE CSRLIN-1
  81. 810  PRINT " ENTER: Value of ";X$;"................";:INPUT X
  82. 820  INPUT " ENTER: Characteristic impedance of transmission line (ohms)";ZC
  83. 830  R=R/ZC:X=X/ZC
  84. 840  B=((X^2+1)/R)+R
  85. 850  SWR=(B+SQR(B^2-4))/2
  86. 860  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  87. 870  X$=STR$(ABS(X*ZC)):X$=RIGHT$(X$,LEN(X$)-1)
  88. 880  PRINT " Complex load impedance..............";R*ZC;J$;X$;" ohms"
  89. 890  PRINT " Characteristic impedance of line....";ZC;"ohms"
  90. 900  PRINT " SWR on line.........................";USING "###.###";SWR;
  91. 910  PRINT ":1"
  92. 920  P=(SWR-1)/(SWR+1)   'reflection coefficient
  93. 930  PRINT " Reflection Coefficient..............";USING "###.###";P
  94. 940  GOTO 960
  95. 950  '
  96. 960  '.....end
  97. 970  GOSUB 1010
  98. 980  GOTO 110
  99. 990  END
  100. 1000  '
  101. 1010  'HARDCOPY
  102. 1020  GOSUB 1130:LOCATE 25,2:COLOR 14,6
  103. 1030  PRINT " Press 1 to print screen, 2 to print screen & ";
  104. 1040  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  105. 1050  Z$=INKEY$:IF Z$="3"THEN GOSUB 1130:RETURN
  106. 1060  IF Z$="1"OR Z$="2"THEN GOSUB 1130:GOTO 1080
  107. 1070  GOTO 1050
  108. 1080  FOR QX=1 TO 24:FOR QY=1 TO 80
  109. 1090  LPRINT CHR$(SCREEN(QX,QY));
  110. 1100  NEXT QY:NEXT QX
  111. 1110  IF Z$="2"THEN LPRINT CHR$(12)
  112. 1120  GOTO 1020
  113. 1130  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  114.